package pr2012.practico4.grafos;

import prog2012.practico1.listas.IElemento;
import prog2012.practico1.listas.TElemento;
import prog2012.practico1.listas.TLista;

public class UtilGrafos {
	public static Integer[][] obtenerMatrizCostos(TLista vertices) {
		int cantidadVertices = vertices.obtenerCantidadElementos();
		Integer[][] matrizCostos = new Integer[cantidadVertices][cantidadVertices];
		int i = 0;
		IElemento elemVerticeI = vertices.obtenerPrimero();
		while (elemVerticeI != null) {
			int j = 0;
			IElemento elemVerticeJ = vertices.obtenerPrimero();
			while (elemVerticeJ != null) {
				if (!elemVerticeI.getEtiqueta().equals(elemVerticeJ.getEtiqueta())) {
					TVertice verticeI = (TVertice) elemVerticeI.getDatos();
					TVertice verticeJ = (TVertice) elemVerticeJ.getDatos();
					Integer costoAdyacencia = (Integer) verticeI.obtenerCostoAdyacencia(verticeJ);
					matrizCostos[i][j] = costoAdyacencia;
				}
				elemVerticeJ = elemVerticeJ.getSiguiente();
				j++;
			}
			elemVerticeI = elemVerticeI.getSiguiente();
			i++;
		}
		return matrizCostos;
	}

}
